(abridged) We perform hydrodynamical simulations of minor-merger induced gas sloshing and the subsequent formation of cold fronts in the Virgo cluster. We show for the first time that sloshing reproduces all characteristics of the observed cold fronts quantitatively, and we suggest a third cold front at 20 kpc NW of the Virgo core. We identify several new features typical for sloshing cold fronts, most importantly a large-scale brightness asymmetry. We can trace these new features not only in Virgo, but also in other sloshing cold front clusters. By comparing synthetic and real observations, we estimate that the original minor merger event took place about 1.5 Gyr ago when a subcluster of 2-4 \times 10^13 M\odot passed the Virgo core at 100 to 400 kpc distance, where a smaller mass corresponds to a smaller pericentre distance, and vice versa. From the merger geometry, we derive the current location of the disturbing subcluster to be about 1-2 Mpc E of the Virgo core. A possible candidate is M60. Additionally, we quantify the metal redistribution by sloshing and discuss its importance. We verify that the subcluster required to produce the observed cold fronts could be completely ram pressure stripped before reaching the Virgo centre, and discuss the conditions required for this to be achieved. Finally, we demonstrate that the bow shock of a fast galaxy passing the Virgo cluster at ~ 400 kpc distance also causes sloshing and leads to very similar cold front structures. The responsible galaxy would be located about 2 Mpc north of the Virgo centre. A possible candidate is M85.